#---------------------------定义变量---------------------------#
#1.定义“源文件”变量
SRC = $(wildcard *.c) #将当前目录下的所有的以.c为结尾的文件都作为源文件

#2.定义“目标文件”变量
OBJ = $(SRC:.c=.o)  #将源文件的后缀 .c 替换为 .o，得到目标文件列表

#3.定义“可执行文件”变量
BIN = processbar

#---------------------------生成可执行文件---------------------------#
$(BIN):$(OBJ)
	gcc -o $@ $^  # 编译生成可执行文件，$@ 表示目标文件（processbar），$^ 表示所有依赖文件（所有 .o 文件）

#---------------------------模式规则---------------------------#
%.o:%.c
	gcc -c $<  # 编译源文件生成目标文件，$< 表示第一个依赖文件（当前的 .c 文件）

#---------------------------清理中间文件和目标文件---------------------------#
.PHONY:clean
clean: #注意这个clean:是不用Tab键来缩进的
	rm -f $(OBJ) $(BIN)